#include <malloc.h> требуется только для объявления функции char *realloc(ptr,size); char *ptr; указатель на ранее захваченный блок памяти unsigned size; новый размер в байтах
Описание.
Функция realloc изменяет размер ранее захваченного блока памяти. Аргумент ptr указывает на начало блока. Аргумент size задает новый размер блока в байтах. Содержимое блока не изменяется. Аргумент ptr может указывать на блок, который должен быть освобожден прежде, чем последуют вызовы calloc, halloc, malloc, realloc .
Возвращаемое значение.
Функция realloc возвращает char-указатель на перезахваченный блок памяти. Блок может быть передвинут, если его размеры изменены, поэтому аргумент ptr для функции realloc не обязательно должен быть таким же, как и возвращаемое значение.
Возвращается значение NULL , если памяти недостаточно, чтобы расширить блок к заданному размеру. Если это происходит, то первоначальный блок освобождается.
В памяти, на которую указывает возвращаемое значение, гарантировано выравнивание для хранения любого типа объекта. Чтобы получить указатель на тип, отличный от char , используется преобразователь типа возвращаемого значения.
Пример:
#include <malloc.h>
#include <stdio.h>
char *alloc;
/* выбирает достаточно большое пространство для 50
символов */
alloc=malloc(50*sizeof(char));
.
.
.
/* перезахватывает блок, который содержит 100 символов */
if (alloc != NULL)
alloc=realoc(alloc,100*sizeof(char));